/* var arr = [9, 3, 6, 2, 4, 1, 8, 5, 7];
    var res = arr.sort(function(a,b){
      return a-b;
    })
    console.log(res); */

    /* var arr = [9, 3, 6, 2, 4, 1, 8, 5, 7];
    for (var i = 0; i < arr.length; i++) {
      for (var j = 0; j < arr.length - 1; j++) {
        if (arr[j] < arr[j + 1]) {
          var temp = arr[j + 1];
          arr[j + 1] = arr[j];
          arr[j] = temp;
        }
      }
    }
    console.log(arr); */
    
    /* var arr = [9, 3, 6, 2, 4, 1, 8, 5, 7];
    for (var i = 0; i < arr.length - 1; i++) {
      var minIndex = i;
      for (j = i + 1; j < arr.length; j++) {
        if (arr[j] < arr[minIndex]) {
          minIndex = j;
        }
      }
      var tmp = arr[i];
      arr[i] = arr[minIndex];
      arr[minIndex] = tmp;
    }
    console.log(arr); */


    // var arr = [1, 2, 3, 4, 3, 2, 1, 1, 2, 3, 2, 1, 2, 3, 4, 5];
    /* var res = arr.filter(function(item,index){
      return arr.indexOf(item) === index;
    })
    console.log(res); */

    /* var newArr = [];
    arr.forEach(function (item){
      // 判断在 newArr 中是否已存在相同的数据
      var res = newArr.some(function (item2) {
        return item2 == item;
      })
      // 返回false说明没有相同的 就将当前的数据传入 newArr
      if (res == false) newArr.push(item);
    })
    console.log(newArr); */

    /* var newArr = [];
    arr.forEach(function (item){
      // 在 newArr 中查找是否已存在相同的数据
      var res = newArr.find(function (item2) {
        return item2 == item;
      })
      // 如果没有找到相同的 就将当前的数据传入 newArr
      if (item != res) {
        newArr.push(item);
      }
    })
    console.log(newArr); */

/*
      1. 排序（写出两种）
      var arr = [9, 3, 6, 2, 4, 1, 8, 5, 7];

      // 方案一：sort()
      var res = arr.sort(function(a,b){
        return a-b;
      })
      console.log(res);

      // 方案二：冒泡排序
      for (var i = 0; i < arr.length; i++) {
        for (var j = 0; j < arr.length - 1; j++) {
          if (arr[j] < arr[j + 1]) {
            var temp = arr[j + 1];
            arr[j + 1] = arr[j];
            arr[j] = temp;
          }
        }
      }
      console.log(arr);

      // 方案三：选择排序（快排）
      var arr = [9, 3, 6, 2, 4, 1, 8, 5, 7];
      for (var i = 0; i < arr.length - 1; i++) {
        var minIndex = i;
        for (j = i + 1; j < arr.length; j++) {
          if (arr[j] < arr[minIndex]) {
            minIndex = j;
          }
        }
        var tmp = arr[i];
        arr[i] = arr[minIndex];
        arr[minIndex] = tmp;
      }
      console.log(arr);

      2. 去重（写出三种方法）
      var arr = [1, 2, 3, 4, 3, 2, 1, 1, 2, 3, 2, 1, 2, 3, 4, 5];

      // 方案一：filter()
      var res = arr.filter(function(item,index){
        return arr.indexOf(item) === index
      })
      console.log(res);
      
      // 方案二：find()
      var newArr = [];
      arr.forEach(function (item){
        // 在 newArr 中查找是否已存在相同的数据
        var res = newArr.find(function (item2) {
          return item2 == item;
        })
        // 如果没有找到相同的 就将当前的数据传入 newArr
        if (item != res) {
          newArr.push(item);
        }
      })
      console.log(newArr);

      // 方案三：some()
      var newArr = [];
      arr.forEach(function (item){
        // 判断在 newArr 中是否已存在相同的数据
        var res = newArr.some(function (item2) {
          return item2 == item;
        })
        // 返回false说明没有相同的 就将当前的数据传入 newArr
        if (res == false) newArr.push(item);
      })
      console.log(newArr);
*/